Enterprise Database Systems
Building Ethereum Smart Contracts with Solidity
Ethereum Smart Contracts with Solidity: An Overview of Ethereum and Solidity
Ethereum Smart Contracts with Solidity: Build Decentralized Apps
Ethereum Smart Contracts with Solidity: Data & Control Structures in Solidity
Ethereum Smart Contracts with Solidity: Ether Transfer Operations in Solidity
Ethereum Smart Contracts with Solidity: Features of the Solidity Language
Ethereum Smart Contracts with Solidity: Functions in Solidity
Ethereum Smart Contracts with Solidity: The Remix Solidity IDE
Final Exam: Blockchain Smart Contracts Programmer

Ethereum Smart Contracts with Solidity: An Overview of Ethereum and Solidity

Course Number:
it_bccscsdj_01_enus
Lesson Objectives

Ethereum Smart Contracts with Solidity: An Overview of Ethereum and Solidity

  • outline the key concepts covered in this course
  • recognize what constitutes a blockchain and how it is used to store a collection of records
  • describe what Ethereum is and list the characteristics which make it such a widely used blockchain network
  • identify what a smart contract is and contrast it with a traditional contract
  • enumerate the high-level features of the Solidity programming language
  • recall the purpose of the bytecode and opcode representations of a smart contract
  • recognize how comments can be included in Solidity source files and the purpose and use of pragma directives
  • recall characteristics of smart contracts and the purpose of pragma directives

Overview/Description

Of all the public blockchains out in the market right now, Ethereum shows the most promise, thanks mainly to its support for the notion of smart contracts. This 8-video course, purely theoretical, offers learners a quick overview of blockchains and Ethereum, then exploring the purpose and characteristics of the smart contracts they support. Participants will then dive into the Solidity programming language and be introduced to its features, which make it ideally suited to the task of coding Ethereum Smart Contracts. Along the way, you will encounter key tools such as pragmas—version pragmas and experimental pragmas—and comments, both single-line and multi-line. By the end of this course, you will have acquired a firm grasp of what Ethereum and Smart Contracts are, and why the Solidity programming language is best suited to defining Ethereum interactions. Completing the course will prepare you to move on to an even deeper exploration of Solidity, involving the essential natures of types, functions, control structures, and other features supported by the language.



Target

Prerequisites: none

Ethereum Smart Contracts with Solidity: Build Decentralized Apps

Course Number:
it_bccscsdj_07_enus
Lesson Objectives

Ethereum Smart Contracts with Solidity: Build Decentralized Apps

  • outline the key concepts covered in this course
  • use structs to enable users to vote for options using strings
  • interact with the deployed voting app to vote for options using both numbers and strings
  • work with events and use them in smart contracts to log activities
  • develop a smart contract to function as a bank that is capable of enrolling customers and allows them to deposit and withdraw ether
  • deploy the bank smart contract and enroll a customer
  • use the deployed bank smart contract to deposit and withdraw ether
  • invoke the selfdestruct function to remove the bank smart contract from the Ethereum network
  • define a smart contract to hold ether and transfer it to a specified account once a certain number of approvals have been obtained
  • deploy the escrow smart contract and verify the validation checks
  • use the deployed escrow smart contract to supply the required approvals for ether transfer and verify the behavior when the transfer is rejected
  • identify the key functions and data structures used to build decentralized apps with Solidity

Overview/Description

This course examines the most mature and widely used language for coding smart contracts, Solidity. The 12-video series assumes a reasonably broad understanding of Solidity language; you should also be familiar with different types of functions and data structures available, needed here to build a number of decentralized applications (dApps). Begin by refining an application used to conduct a poll, then implement a smart contract which functions as an escrow. Watch how the different types of data structures in the Solidity programming language operate. Explore different types of functions, including the payable functions which collect ether in a smart contract.  Next, build a smart contract application which mimics a bank, with customers represented by their Ethereum account addresses, and each account can have an Ether balance. By completing the course labs, you will incorporate all the skills needed to build the back end of any decentralized application. With some additional Javascript knowledge, you need only integrate your front end with your smart contract in order to become a full-stack blockchain developer.



Target

Prerequisites: none

Ethereum Smart Contracts with Solidity: Data & Control Structures in Solidity

Course Number:
it_bccscsdj_06_enus
Lesson Objectives

Ethereum Smart Contracts with Solidity: Data & Control Structures in Solidity

  • outline the key concepts covered in this course
  • demonstrate how to build a smart contract to conduct a poll using Solidity data structures and functions
  • use the deployed voting smart contract to cast votes for the available options
  • access properties related to the next block to be added to the blockchain and the current transaction from within a smart contract
  • store and access key and value pairs using Solidity's mapping data structure
  • use a mapping data structure in the voting app to record whether a voter has previously cast their ballot
  • use a struct to store and access composite data within one object
  • create and use a mapping instance to store instances of structs as values
  • recognize the syntax of if statements and for loops
  • distinguish between while and do while loops
  • recognize how to use mappings and structs in the Solidity language

Overview/Description

Building applications with real use cases nearly always involves the use of complex data structures such as maps, or structs and control structures such as if-else statements and loops in your Blockchain solutions. In this 11-video course, participants will explore the use of mapping and struct data structures in the Solidity language, as well as covering the looping operations with for, while, and do-while loops. Learn to build a smart contract which can be used to conduct a poll. The demos in this course will help you gain a very broad understanding of the Solidity language, and know how to use complex data structures, access modifiers, require clauses, as well as control structures, to build an application representing a real-life use case. The concluding exercise tests your ability to identify the rules you must follow to access transaction data from a smart contract and initialize a new instance of a struct (SampleStruct), setting two different methods which are supported.



Target

Prerequisites: none

Ethereum Smart Contracts with Solidity: Ether Transfer Operations in Solidity

Course Number:
it_bccscsdj_05_enus
Lesson Objectives

Ethereum Smart Contracts with Solidity: Ether Transfer Operations in Solidity

  • outline the key concepts covered in this course
  • use a fallback function to allow a smart contract to receive Ether
  • define a smart contract to send Ether from your contract to another Ethereum account using the transfer function
  • demonstrate how to invoke a function to transmit Ether to a specified Ethereum account
  • create a fallback function to transfer received Ether to another account
  • recognize how the gas limit restricts the operations which can be performed from a fallback function
  • use the selfdestruct function to delete a smart contract from the Ethereum network
  • define arrays in Solidity and access and set specific elements within them
  • verify conditions in a smart contract using the require and assert clauses
  • recognize the effects of provisioning variables in memory or storage during assignment operations
  • distinguish between value and reference types in the Solidity language
  • identify which variable types need their storage locations to be explicitly specified
  • recognize how to use fallback functions, value, and reference types to define smart contracts to transfer ether

Overview/Description

Transferring Ether between Ethereum accounts is the fundamental financial transaction performed by smart contracts for you Blockchain solutions. This detailed, 13-video course continues exploring Ethereum’s use of Solidity language by examining the more advanced functions included in smart contracts, specifically the payable functions which allow the contract to receive Ether. Participants explore the use of fallback functions, the simplest forms of payable functions, and then define their own payable functions. Learn what happens when a smart contract has lived out its life and it needs to be destroyed; the Ether it still holds must be handed to another account and the original contract destroyed, but how? Explore the special function called selfdestruct, which deletes the smart contract from the Ethereum network. By the end of this course, you should have acquired a productive understanding of how assignment operations work depending on whether the variables on either side have been created in storage or memory.



Target

Prerequisites: none

Ethereum Smart Contracts with Solidity: Features of the Solidity Language

Course Number:
it_bccscsdj_02_enus
Lesson Objectives

Ethereum Smart Contracts with Solidity: Features of the Solidity Language

  • outline the key concepts covered in this course
  • identify the primitive data types supported in the Solidity language such as boolean and int and the kinds of operations which can be performed with them
  • describe the composite types in Solidity such as structs and mappings and their limitations
  • recognize what constitutes a reference type in Solidity and the way such data need to be handled
  • specify integer types to represent ether or time units and recall the globally accessible properties and functions
  • set the visibility level of functions to restrict access when required
  • describe payable functions in Solidity and the use of function modifiers to control the execution of functions
  • recognize the control structures supported by Solidity and the use of events and inheritance
  • list the different functions available in Solidity to transfer ether to a contract account and their features
  • identify the role of the solc compiler and the Remix IDE in building and working with Solidity smart contracts
  • describe the steps involved in contract development and recognize how the Truffle Suite can simplify them
  • recall the characteristics of fallback functions and the features of the Truffle Suite

Overview/Description

In this 12-video course, participants sample various features of the Solidity language, such as the different types which are available; the kinds of functions which can be included within your smart contracts; and the object-oriented concepts that are supported, such as abstract contracts, inheritances, and interfaces. You will survey some of the special operations in Ethereum, which can be coded in Solidity, such as the transfer of Ether and the development tools which are available, such as the Remix IDE (integrated developer environment) and the Truffle Suite. Learn about the array types contained within Solidity—fixed length or dynamic—which are similar to those in other programming languages, and the important differences: no real null types or undefined types, an attribute which results in default values if not explicitly set. By the end of this course, you will have a firm grasp of the concepts and features of the Solidity programming language, and its benefits, as well as its limitations when creating your Blockchain solutions.



Target

Prerequisites: none

Ethereum Smart Contracts with Solidity: Functions in Solidity

Course Number:
it_bccscsdj_04_enus
Lesson Objectives

Ethereum Smart Contracts with Solidity: Functions in Solidity

  • outline the key concepts covered in this course
  • build and deploy smart contracts utilizing constructor arguments
  • recognize how to write a getter function to return the value of a state variable in a smart contract
  • identify the effect of using the "view" access modifier for a function
  • define a setter function to update the state variables of a smart contract
  • identify the different ways in which the return types of a function can be specified
  • recognize the effect of using the "pure" access modifier for a function which does not access the contract state
  • distinguish between "view" and "pure" functions
  • utilize polymorphism to create functions with the same name but with different behaviors within a smart contract
  • use inheritance to define a smart contract derived from another contract
  • work with abstract smart contracts to define the desired behavior of contracts derived from it
  • create smart contracts with functions of varying visibility and recognize their access restrictions
  • identify how different combinations of visibility levels for variables and functions can affect access to data
  • identify the key concepts behind function polymorphism, visibility levels, and access modifiers

Overview/Description

Because functions in smart contracts are at the heart of any operation which is performed in the Ethereum network, this 14-video course covers different ways to define functions depending on their use case. Explore function arguments, return types, and access modifiers, before delving into object-oriented concepts: function polymorphism, abstract contracts, how to override functions in derived contracts, inheritance, and different visibility levels: private, internal, external, and public (default). Demonstration models provide a realistic idea of how a function’s visibility affects where it can be invoked from; a private variable defined within one smart contract can still be accessed from another contract, as long as its getter function is accessible. As you progress through this course, you will gain a fuller understanding of coding smart contracts by using Solidity for your Blockchain solutions. You will know the types of operations which can incur a gas cost and how these can be limited with access modifiers. You will also learn how to define and use abstract contracts while controlling access to your functions by using the four visibility levels.



Target

Prerequisites: none

Ethereum Smart Contracts with Solidity: The Remix Solidity IDE

Course Number:
it_bccscsdj_03_enus
Lesson Objectives

Ethereum Smart Contracts with Solidity: The Remix Solidity IDE

  • outline the key concepts covered in this course
  • connect to the cloud-based Remix IDE and recognize its key features for smart contract development
  • build a smart contract and examine the outputs generated by the Solidity compiler
  • deploy a smart contract to an Ethereum network within the Remix IDE and then access the contract state variables
  • install and launch the Ganache tool which instantly spins up a private Ethereum network to help with contract development
  • utilize options offered by Ganache to configure the private Ethereum network it provisions
  • connect the Remix IDE to the private Ganache network and deploy your smart contract to it
  • install the Metamask browser extension for Chrome and use it to connect to a variety of Ethereum networks
  • set up the Remix IDE to access the Web3 object injected by Metamask so that all Ethereum interactions from Remix go through Metamask
  • deploy a smart contract to the private network on Ganache via Metamask
  • identify the key features of the Remix IDE and Ganache

Overview/Description

This course introduces participants to the cloud-based version of the Remix integrated developer environment (IDE), an environment allowing you to code up, deploy, and then interact with your smart contracts. One reason why Remix is such a popular tool is due to its flexibility; it can deploy smart contracts to a variety of Ethereum networks. This 11-video course helps you learn how to code up a simple smart contract and how this contract can be deployed to a private Ethereum network, provisioned by Remix for testing purposes for your Blockchain solutions. After provisioning another private network using Ganache, you will then use Remix to deploy a contract to that network. Then learn to connect Remix to the MetaMask browser plugin, which itself serves as a wallet for your Ethereum accounts, and enables transactions on a variety of Ethereum networks. By the end of this course, you will have gained a comfortable degree of familiarity with Remix IDE and how it can be used to develop, deploy, and then interact with your smart contracts.



Target

Prerequisites: none

Final Exam: Blockchain Smart Contracts Programmer

Course Number:
it_febca_02_enus
Lesson Objectives

Final Exam: Blockchain Smart Contracts Programmer

  • build and deploy smart contracts utilizing constructor arguments
  • build a smart contract and examine the outputs generated by the Solidity compiler
  • code the Invoke method and different operations that can be called in a Go smart contract
  • connect to the cloud-based Hyperledger Composer environment and recognize the syntax of the CTO modeling language
  • connect to the cloud-based Remix IDE and recognize its key features for smart contract development
  • define arrays in Solidity and access and set specific elements within them
  • define a smart contract to hold ether and transfer it to a specified account once a certain number of approvals have been obtained
  • define a smart contract to send Ether from your contract to another Ethereum account using the transfer function
  • define the Init method in a Go smart contract for the Fabric network
  • demonstrate how to build a smart contract to conduct a poll using Solidity data structures and functions
  • demonstrate how to invoke a function to transmit Ether to a specified Ethereum account
  • deploy a business blockchain network to a test environment on Hyperledger Composer Playground
  • deploy a smart contract to an Ethereum network within the Remix IDE and then access the contract state variables
  • deploy the smart bank contract and enroll a customer
  • deploy the smart escrow contract and verify the validation checks
  • describe the composite types in Solidity such as structs and mappings and their limitations
  • describe the different blockchain implementations offered by Hyperledger
  • describe the use of Docker to define images and use them to provision containers
  • describe what Ethereum is and list the characteristics which make it such a widely used blockchain network
  • develop a smart contract to function as a bank that is capable of enrolling customers and allows them to deposit and withdraw ether
  • distinguish between "view" and "pure" functions
  • download and install the Angular JS app supplied by Hyperledger to interact with the deployed Composer network
  • download Hyperledger Fabric artifacts as well as the Docker images needed to provision a network
  • identify the characteristics of public blockchain networks and their limitations
  • identify the different ways in which the return types of a function can be specified
  • identify the effect of using the "view" access modifier for a function
  • identify the options and templates supplied by Hyperledger Composer Playground to build out business blockchain networks
  • identify the primitive data types supported in the Solidity language such as boolean and int and the kinds of operations which can be performed with them
  • identify the types of rules that can be defined in the access control list (ACL) for a Hyperledger Composer network
  • identify what a smart contract is and contrast it with a traditional contract
  • identify what makes containers much more lightweight than virtual machines
  • initialize the Hyperledger Composer REST API server so that it can be used to interact with a deployed blockchain network
  • install and launch the Ganache tool which instantly spins up a private Ethereum network to help with contract development
  • install, instantiate, and invoke a function on the NodeJS chaincode
  • install tools such as the Composer REST Server and Yeoman to simplify the building of apps for Hyperledger Composer
  • list the steps involved in setting up a Fabric network without using any of the Hyperledger tools
  • provision a new Hyperledger Fabric network by reusing some of the configurations generated previously
  • recall the details required in the transaction processing script for a Hyperledger Composer network
  • recall the origins of the Hyperledger project and its approach towards building blockchain solutions
  • recognize how to write a getter function to return the value of a state variable in a smart contract
  • recognize the effect of using the "pure" access modifier for a function which does not access the contract state
  • recognize the syntax of if statements and for loops
  • recognize what a blockchain is and how it offers a mechanism to record transactions in a secure manner
  • recognize what constitutes a blockchain and how it is used to store a collection of records
  • recognize what constitutes a reference type in Solidity and the way such data need to be handled
  • recognize what is required to make an application portable across environments
  • set the visibility level of functions to restrict access when required
  • set up a Hyperledger Fabric network to which the Composer network can be installed
  • specify integer types to represent ether or time units and recall the globally accessible properties and functions
  • store and access key and value pairs using Solidity's mapping data structure
  • use a fallback function to allow a smart contract to receive Ether
  • use a struct to store and access composite data within one object
  • use NodeJS to code an application that will create an admin user for an organization connected to a Hyperledger Fabric network
  • use the Angular app for Hyperledger Composer to create instances of assets and participants and to record transactions on the deployed blockchain network
  • use the configtxgens tool to create the Fabric network's first genesis block and channel
  • use the Hyperledger Composer Playground tool to test different scenarios for a business blockchain network
  • use the selfdestruct function to delete a smart contract from the Ethereum network
  • verify the features implemented in the application by accessing the UI and invoking queries and transactions
  • work with events and use them in smart contracts to log activities
  • write an application in NodeJS that will use admin credentials in order to provision an application user

Overview/Description

Final Exam: Blockchain Smart Contracts Programmer will test your knowledge and application of the topics presented throughout the Blockchain Smart Contracts Programmer track of the Skillsoft Aspire Blockchain Application Developer to Blockchain Solutions Architect Journey.



Target

Prerequisites: none

Close Chat Live